package cn.ondraw.ragflow.pojo.request;


import lombok.Data;

import java.util.List;

/**
 * 检索块的请求对象
 */
@Data
public class RetrieveChunksRequest {
    /**
     * 用户查询或查询关键词
     */
    private String question;
    /**
     * 要搜索的数据集的 ID 列表
     */
    private List<String> dataset_ids;
    /**
     * 要搜索的文档的 ID 列表
     */
    private List<String> document_ids;
    /**
     * 指定显示块的页码，默认为 1
     */
    private Integer page = 1;
    /**
     * 每页的最大块数，默认为 30
     */
    private Integer page_size = 30;
    /**
     * 最小相似度分数，默认为 0.2
     */
    private Float similarity_threshold = 0.2f;
    /**
     * 向量余弦相似度的权重，默认为 0.3
     */
    private Float vector_similarity_weight = 0.3f;
    /**
     * 参与向量余弦计算的块数，默认为 1024
     */
    private Integer top_k = 1024;
    /**
     * 重排序模型的 ID
     */
    private String rerank_id;
    /**
     * 是否启用基于关键词的匹配，默认为 false
     */
    private Boolean keyword = false;
    /**
     * 是否启用匹配术语的高亮显示，默认为 false
     */
    private Boolean highlight = false;
    /**
     * 知识库id
     */
    private String kb_id;
}
